html,body,div,ul,li,p{
    margin: 0;
    padding: 0;
    outline: 0;
}
html,body{
    font-size: 14px;
}

.wrapper{
    margin: 50px auto;
    width: max-content;
    height: 200px;
    display: flex;
}
.left-time,
.right-event{
    display: flex;
    padding: 5px 0;
    width: 100px;
    height: 200px;
    box-sizing: border-box;
    justify-content: space-between;
    flex-direction: column;
    overflow: hidden;
}
.left-time p{
    margin-left: 100px;
    white-space: nowrap;
    animation: left-time .5s 1.5s forwards;
}
@keyframes left-time{
    100% { margin-left: 0; }
}
.right-event{ width: 120px; }
.right-event p{
    margin-left: -100px;
    white-space: nowrap;
    animation: right-event .5s 1.5s forwards;
}
@keyframes right-event{
    100% { margin-left: 20px; }
}

.center-section{
    position: relative;
    display: flex;
    width: 30px;
    height: 200px;
    justify-content: space-between;
    flex-direction: column;
}
.circle{
    /* position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0 auto; */
    opacity: 0;
    z-index: 2;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    transform: scale(0);
    background: orange;
}
.circle-4{
    transform: scale(1);
    opacity: 1;
    background: lightgreen;
}

.line{
    position: absolute;
    left: 14px;
    bottom: 0;
    width: 2px;
    height: 0;
    transition: height 1s;
    background: #ccc;
    animation: line 1.5s forwards;
}
@keyframes line{
    0% { height: 0%; }
    100%{ height: 200px; }
}

.circle-3{ animation: top2 .5s forwards; }
@keyframes top2{
    0%{ opacity: 0; transform: scale(0);}
    100% { opacity: 1; transform: scale(1); }
}
.circle-2{ animation: top3 1s forwards;}
@keyframes top3{
    0% { opacity: 0; transform: scale(0);}
    50%{ opacity: 0; transform: scale(0);}
    100%{ opacity: 1; transform: scale(1); }
}
.circle-1{ animation: top4 1.5s forwards;}
@keyframes top4{
    0% { opacity: 0; transform: scale(0);}
    33.3%{ opacity: 0; transform: scale(0);}
    66.6%{ opacity: 0; transform: scale(0);}
    100%{ opacity: 1; transform: scale(1); }
}